📦 🖥️ 🌐
Atelier de Professionnalisation — Année 1 · BTS SIO SISR
OCS Inventory NG — Service d'Inventaire de Parc Informatique
OCS Inventory · Apache · PHP · MariaDB · Agents Windows & Linux · Debian 12
4
Machines inventoriées
5
Prérequis installés
2
Agents déployés (Win + Linux)
Inventaire OCS opérationnel
📋
Sujet de l'atelier
AP4 — La gestion de parc informatique · OCS Inventory NG
⬇  Télécharger
📄
Compte-rendu
AP OCS Inventory — Compte-rendu Adrien Blaize
⬇  Télécharger
📄
Compte-rendu à venir
Le compte-rendu sera ajouté ici une fois finalisé.
Remplace ce bloc par l'iframe PDF quand le fichier est prêt.
Contexte de l'atelier

OCS Inventory NG (Open Computer and Software Inventory) est une application permettant de réaliser un inventaire automatique de la configuration matérielle et logicielle des machines d'un réseau, visualisable via une interface web. C'est un outil fondamental pour tout administrateur réseau confronté à la gestion d'un parc hétérogène.

L'atelier consiste à déployer un serveur OCS Inventory sur une VM Debian 12 dédiée, en installant l'ensemble de la pile logicielle nécessaire (Apache, PHP, MariaDB, PERL, phpMyAdmin), à configurer le service OCS, puis à déployer les agents sur les postes clients Windows et Linux pour obtenir au minimum 4 machines inventoriées dans le tableau de bord.

Infrastructure & Création de la VM serveur
1
Création et configuration de la VM serveur OCS — Debian 12
Infrastructure · Proxmox

Clonage de la machine de référence Debian sur Proxmox vers NomEtud-D12-OCS avec l'IP statique 172.30.1xx.240. Configuration des fichiers /etc/hostname, /etc/hosts et /etc/network/interfaces pour adapter le nom et l'adresse IP à l'infrastructure de l'atelier.

  • Serveur OCS : NomEtud-D12-OCS · IP 172.30.1xx.240 · RAM 4 Go
  • Client Windows 10 : NomEtud-W10-Client · IP 172.30.1xx.1
  • Client Debian 11 : NomEtud-D11-Client · IP 172.30.1xx.2
  • Client Ubuntu 21 : NomEtud-U21-Client · IP 172.30.1xx.10
  • Serveur HTTP : NomEtud-D11-HTTP · IP 172.30.1xx.180
  • Réseau : VLAN Étudiant 172.30.1xx.0/24
  • Installation de resolvconf pour la résolution DNS Internet
  • Ajout des serveurs DNS dans /etc/network/interfaces : dns-nameservers 8.8.8.8 172.30.30.53
  • Modification du fichier sources.list pour pointer vers les miroirs Debian Bookworm
  • Connexion SSH via PuTTY depuis le poste client pour administrer le serveur à distance
✅ VM OCS opérationnelle — Accès Internet et SSH fonctionnels
Installation des prérequis
2
Déploiement de la pile LAMP + PERL + phpMyAdmin
Apache · PHP · MariaDB · PERL

OCS Inventory est une application web PHP qui nécessite un serveur web, un langage de script, une base de données et des modules PERL spécifiques. L'ordre d'installation est critique et tout oubli peut bloquer la suite.

  • Apache2apt install apache2 -y · Serveur web · Validation via info.php dans le navigateur
  • PHPapt install php -y · Langage de script · PHP 8.2.7 installé
  • MariaDBapt install mariadb-server -y · Base de données relationnelle
  • PERL + modules OCS — Repository OCS ajouté · Clé GPG importée · perl -MCPAN -e 'install XML::Entities'
  • phpMyAdminapt install phpmyadmin · Apache2 sélectionné · Mot de passe : Sio20AA
  • Création de la base ocsweb : CREATE DATABASE ocsweb;
  • Création de l'utilisateur OCS : CREATE USER ocs@localhost IDENTIFIED BY 'ocs';
  • Droits complets sur ocsweb : GRANT ALL PRIVILEGES ON ocsweb.* TO ocs@localhost;
  • Sécurisation MariaDB via mysql_secure_installation : Unix socket, mot de passe root, suppression anonymes et base test

Connexion réussie à phpMyAdmin depuis le navigateur Firefox du client Debian (http://172.30.1xx.240/phpmyadmin) avec l'utilisateur root — confirme que Apache, PHP et MariaDB fonctionnent correctement ensemble.

✅ Pile LAMP opérationnelle — phpMyAdmin accessible
Installation & Configuration du service OCS Inventory
3
Installation OCS Inventory & configuration des fichiers
OCS · Configuration
  • apt update && apt install ocsinventory -y
  • Vérification et adaptation de /etc/apache2/conf-available/z-ocsinventory-server.conf : DB_NAME=ocsweb, DB_USER=ocs, DB_PWD=ocs
  • Mise à jour de /etc/apache2/conf-available/zz-ocsinventory-restapi.conf : OCS_DB_LOCAL=ocsweb, OCS_DB_USER=ocs
  • Mise à jour de /etc/ocsinventory-reports/dbconfig.inc.php : DB_NAME=ocsweb, COMPTE_BASE=ocs
  • max_execution_time = -1 et max_input_time = -1 — désactivation des limites de temps
  • upload_max_filesize = 50M et post_max_size = 50M — augmentation des limites de téléchargement
  • memory_limit = 256M — augmentation de la mémoire PHP
  • chmod -R 766 /usr/share/ocsinventory-reports
  • chown -R www-data:www-data /usr/share/ocsinventory-reports /var/lib/ocsinventory-reports
  • systemctl restart apache2 mariadb
  • Finalisation via navigateur sur http://172.30.1xx.240/ocsreports → bouton "Send" → "Installation finished" → mise à jour BDD
✅ OCS Inventory installé — Interface web accessible
4
Première connexion & résolution de l'alerte sécurité
Sécurité · Hardening

Connexion avec les identifiants par défaut admin/admin. Trois alertes de sécurité sont affichées au premier login. Seule la première est à corriger — les identifiants par défaut de la base et de l'interface web sont conservés volontairement pour l'évaluation par le professeur.

  • Suppression ou renommage du fichier d'installation install.php : rm /usr/share/ocsinventory-reports/ocsreports/install.php
  • Déconnexion puis reconnexion pour vérifier la disparition de l'alerte
  • Les deux autres alertes (compte/mdp par défaut) sont conservées intentionnellement
✅ Alerte install.php résolue — Interface sécurisée
Déploiement des agents OCS sur les postes clients
5
Installation de l'agent OCS sur le serveur lui-même (test initial)
Agent · Linux · Test

Avant de déployer l'agent sur les postes clients, installation de l'agent OCS directement sur le serveur pour valider le bon fonctionnement de l'infrastructure et voir apparaître la première machine dans l'inventaire.

  • apt install ocsinventory-agent · méthode HTTP · URL : http://172.30.1xx.240/ocsinventory
  • Lancement manuel : ocsinventory-agent
  • Résultat : 1 machine apparaît dans le tableau de bord OCS (pchem-D12-OCS · Debian GNU/Linux 12.5 · 1967 Mo RAM)
✅ 1ère machine inventoriée — Serveur OCS visible dans l'interface
6
Déploiement de l'agent OCS sur Windows 10
Agent · Windows · MSI

Téléchargement de l'agent Windows depuis le site OCS Inventory, configuration de la VM pour l'accès Internet, puis installation avec les paramètres pointant vers le serveur OCS.

  • URL serveur OCS : http://172.30.1xx.240/ocsinventory
  • Option "Immediately launch inventory" cochée pour forcer la remontée immédiate
  • Service OCSInventory configuré pour démarrer automatiquement
  • Fichier de configuration : C:\ProgramData\OCS Inventory NG\Agent\ocsinventory.ini
  • La machine Windows 10 apparaît dans l'inventaire OCS
✅ Client Windows 10 inventorié — Agent installé comme service
7
Déploiement de l'agent OCS sur les clients Linux
Agent · Linux · Cron

Sur chaque client Linux (Debian 11, Ubuntu 21), ajout du repository OCS Inventory, installation de l'agent et configuration du serveur cible. Sous Linux, la remontée est gérée par une tâche cron quotidienne.

  • Mise à jour réseau + sources.list avec les miroirs Debian
  • Ajout du fichier /etc/apt/sources.list.d/ocsinventory.list avec le dépôt OCS
  • apt install ocsinventory-agent · méthode HTTP · URL serveur OCS
  • Première remontée forcée : ocsinventory-agent
  • Tâche cron créée dans /etc/cron.daily/ocsinventory-agent pour les remontées quotidiennes automatiques

Le tableau de bord OCS affiche 4 machines actives : 1 Windows, 3 Unix (Linux) — correspondant aux 4 VMs de l'infrastructure. L'inventaire contient le système, la RAM, le CPU et l'utilisateur connecté pour chaque machine.

✅ 4 machines inventoriées — 1 Windows + 3 Linux · Objectif atteint
Bilan de l'atelier
ÉtapeRéaliséRésultat clé
VM Debian 12 créée et configurée ✓ Fait IP 172.30.1xx.240 · DNS · SSH via PuTTY opérationnel
Pile LAMP + PERL + phpMyAdmin ✓ Fait Apache + PHP 8.2.7 + MariaDB · phpMyAdmin accessible
Base ocsweb + utilisateur ocs ✓ Fait CREATE DATABASE + GRANT ALL PRIVILEGES · mysql_secure_installation
OCS Inventory installé & configuré ✓ Fait Fichiers conf Apache + php.ini optimisé · Interface web finalisée
Alerte sécurité install.php résolue ✓ Fait Fichier supprimé · Reconnexion validée sans alerte
Agent Linux sur le serveur (test) ✓ Fait 1ère machine inventoriée · Remontée forcée validée
Agent Windows 10 déployé ✓ Fait Agent MSI installé · Service automatique · Machine visible dans OCS
Agents Linux clients déployés ✓ Fait Cron daily configuré · 4 machines actives au total dans le tableau de bord
Outils & technologies utilisés
OCS Inventory NG Apache2 PHP 8.2 MariaDB PERL phpMyAdmin Debian 12 (Bookworm) Windows 10 PuTTY / SSH Proxmox VE Cron